查看原文
其他

KS和AUC的关系

66号学苑 2022-09-08

The following article is from 大数据风控的一点一滴 Author 小石头

上周末在某论坛里看到一个数据集,就拿来跑跑模型。画出KS和ROC后,就突然想到,以前经常有人问KS和ROC的区别,于是就把自己的理解记录下来,如有错误,请指正。


1.KS计算方法


假设建模的目标是坏客户(正样本),根据模型的打分结果,对样本按照评分升序排列,或按照预测概率降序排列,计算累积正样本率和累积负样本率,累积正样本率和累积负样本率差的最大值就是KS值。KS曲线见下图。


2.AUC计算方法


先看如下混淆矩阵,如下图。

定义真正率TPR=TP/(TP+FN),假正率FPR=FP/(FP+TN),这里的真正率就是累积正样本率,而假正率则是累积负样本率。在计算AUC值时,同样地对样本按照评分升序排列,或按照预测概率降序排列,设置不同阈值,计算TPR和FPR。然后以FPR为横轴,TPR为纵轴,画出ROC曲线(见下图),则曲线下方的面积即为AUC值。

3.KS和AUC的关系

现将KS曲线和ROC曲线放在一起比较,如上图。KS图中,红色线是TPR曲线(累积正样本率曲线),蓝色线是FPR曲线(累积负样本率曲线),绿色线是KS曲线。ROC图中,蓝色线是以FPR为横轴,TPR为纵轴,画出的曲线。


由于按照正样本预测概率降序排列,所以排在前面的样本为正的概率更大,但为正的概率是递减的;相反排在前面的样本为负的概率更小,但为负的概率递增。所以KS图中,TPR曲线在FPR曲线上方,并且TPR曲线的导数递减,FPR曲线的导数递增,而KS曲线先上升到达峰值P点(导数为0)后下降,P点对应的C值就是KS值。ROC图中,ROC曲线的导数是递减的,且刚开始导数大于1,逐渐递减到导数为1的T点(T点对应P点),然后导数继续降低。另外,A值对应X值,B值对应Y值,且C=B-A=Y-X。


在用KS评估模型时,除了看P点对应的KS值C,还要看P点的横坐标F值的大小,一般来说,相同的KS值,F值越小越好。F值越小,说明模型对正样本的预测越精确,也就是说在识别出正样本的同时也能保证对负样本更小的误杀率。

      

下面为了解释KS值和AUC值之间的关系,采用一个不是很精确但有助于理解的方法。

      

首先,假设F值不变,C值增大,即P点沿着垂直方向向上移动,那么A值应该减小,B值应该增大;对应地,X值减小,Y值增大,T点会向左上角移动;所以ROC曲线下方的面积会增大,也就是AUC值增大。

      

然后,假设C值不变,F值减小,即P点沿着水平方向向左移动,因为C=B-A,所以A和B减小相同的幅度,也是就说X和Y减小相同的幅度,即T点沿着斜率为1的切线方向向下移动,此时ROC曲线下方的面积也会增大,即AUC值增大。

      

所以P点位置决定了T点的位置,C值和F值均会影响AUC值。AUC值看上去更像一个综合评估指标,但缺乏对模型细节的评估。而KS值结合F值,可以评估每一段评分的效果,还可以找出评分切分的阈值等。 

     

两个指标从不同角度对模型进行评估,有紧密联系,也有使用方法的区别,两个指标结合使用,能够更好的对模型进行更全面的评估。


来源|大数据风控的一点一滴




更多精彩,戳这里:


|这是一份可以让你很牛很牛的风控技能包|

|非平衡数据的处理方法|

|相关性对模型的影响|

|威胁猎人:互联网黑灰产工具软件2018半年报告|

|在线支付之风控系统架构选型|



您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存